package com.cdxy.enums;

import com.cdxy.model.dto.base.exception.enums.IError;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Author: tangy
 * @Date: 2020/2/23 14:21
 */
@Getter
@AllArgsConstructor
public enum BizErrorEnum implements IError {
    /**
     * 业务逻辑错误异常
     */
    VERIFICATION_CODE_ERROR(101,"验证码错误，请重试"),
    VERIFICATION_CODE_TIMEOUT_ERROR(101, "验证码超时，请重新获取"),
    SEND_SMS_ERROR(101, "发送短信验证码错误，请重新发送"),
    SEND_EMAIL_ERROR(101, "发送邮箱验证码错误，请重新发送"),

    // 登录错误
    LOGIN_ACCOUNT_NOT_EXIST(102, "用户不存在，请先注册"),
    LOGIN_PASSWORD_WRONG(103, "密码错误，请重试"),
    LOGIN_BIND_EMAIL(104, "该邮箱还未绑定"),
    EMAIL_HAD_BIND(101, "邮箱已绑定，请换个邮箱"),

    // 绑定错误
    PHONE_HAD_BIND(101, "手机号已绑定，请换个手机试试"),

    // 注册错误
    REGS_ACCOUNT_EXIST_REPEAT(101, "该用户已存在，请直接登录"),

    // Token 问题
    LOGIN_NO_TOKEN( -1, "请先登录"),

    // 密码相关
    HAD_SET_PASSWORD(101, "您已设置密码，无需再设置密码了"),

    // 酒店不存在
    HOTEL_NOT_EXIST(101, "酒店不存在"),

    // 景点不存在
    SCENE_NOT_EXIST(101, "景点不存在"),

    // 收藏错误
    SAVE_ERROR(101, "收藏错误"),

    PAY_NUM(101, "支付时未选择数量"),

    ORDER_NOT_EXIST(101, "订单不存在"),

    ORDER_PARAM_ERROR(101, "订单参数不正确"),

    RECHARGE_STATUS_ERROR(101, "充值状态异常"),

    CANCEL_OPTION_ERROR(101, "操作异常"),

    ;

    private int code;
    private String desc;

    @Override
    public int getCode() {
        return this.code;
    }

    @Override
    public String getDesc() {
        return this.desc;
    }
}
